endif
# Default target must appear before any include lines
++.PHONY: all
all: dist
XEN_ROOT=$(CURDIR)
export pae=y
endif
--.PHONY: all dist install xen kernels tools dev-docs docs world clean
--.PHONY: mkpatches mrproper kbuild kdelete kclean
--
# build and install everything into the standard system directories
++.PHONY: install
install: install-xen install-kernels install-tools install-docs
++.PHONY: build
build: kernels
$(MAKE) -C xen build
$(MAKE) -C tools build
# The test target is for unit tests that can run without an installation. Of
# course, many tests require a machine running Xen itself, and these are
# handled elsewhere.
++.PHONY: test
test:
$(MAKE) -C tools/python test
# build and install everything into local dist directory
++.PHONY: dist
dist: DESTDIR=$(DISTDIR)/install
dist: dist-xen dist-kernels dist-tools dist-docs
$(INSTALL_DIR) $(DISTDIR)/check
@: # do nothing
# Legacy dist targets
++.PHONY: xen tools kernels docs
xen: dist-xen
tools: dist-tools
kernels: dist-kernels
docs: dist-docs
++.PHONY: prep-kernels
prep-kernels:
for i in $(XKERNELS) ; do $(MAKE) $$i-prep || exit 1; done
++.PHONY: install-xen
install-xen:
$(MAKE) -C xen install
++.PHONY: install-tools
install-tools:
$(MAKE) -C tools install
++.PHONY: install-kernels
install-kernels:
for i in $(XKERNELS) ; do $(MAKE) $$i-install || exit 1; done
++.PHONY: install-docs
install-docs:
sh ./docs/check_pkgs && $(MAKE) -C docs install || true
++.PHONY: dev-docs
dev-docs:
$(MAKE) -C docs dev-docs
# Build all the various kernels and modules
++.PHONY: kbuild
kbuild: kernels
# Delete the kernel build trees entirely
++.PHONY: kdelete
kdelete:
for i in $(XKERNELS) ; do $(MAKE) $$i-delete ; done
# Clean the kernel build trees
++.PHONY: kclean
kclean:
for i in $(XKERNELS) ; do $(MAKE) $$i-clean ; done
# Make patches from kernel sparse trees
++.PHONY: mkpatches
mkpatches:
for i in $(ALLSPARSETREES) ; do $(MAKE) $$i-xen.patch; done
# build xen, the tools, and a domain 0 plus unprivileged linux-xen images,
# and place them in the install directory. 'make install' should then
# copy them to the normal system directories
++.PHONY: world
world:
$(MAKE) clean
$(MAKE) kdelete
$(MAKE) dist
# clean doesn't do a kclean
++.PHONY: clean
clean::
$(MAKE) -C xen clean
$(MAKE) -C tools clean
$(MAKE) -C docs clean
# clean, but blow away kernel build tree plus tarballs
++.PHONY: distclean
distclean: clean
rm -rf dist patches/tmp
for i in $(ALLKERNELS) ; do $(MAKE) $$i-delete ; done
for i in $(ALLSPARSETREES) ; do $(MAKE) $$i-mrproper ; done
# Linux name for GNU distclean
++.PHONY: mrproper
mrproper: distclean
++.PHONY: help
help:
@echo 'Installation targets:'
@echo ' install - build and install everything'
@echo ' true if set to non-empty value, false otherwise'
# Use this target with extreme care!
++.PHONY: uninstall
uninstall: D=$(DESTDIR)
uninstall:
[ -d $(D)/etc/xen ] && mv -f $(D)/etc/xen $(D)/etc/xen.old-`date +%s` || true
rm -rf $(D)/usr/share/man/man8/xen*
# Legacy targets for compatibility
++.PHONY: linux26
linux26:
$(MAKE) 'KERNELS=linux-2.6*' kernels
ALLKERNELS = $(patsubst buildconfigs/mk.%,%,$(wildcard buildconfigs/mk.*))
ALLSPARSETREES = $(patsubst %-xen-sparse,%,$(wildcard *-xen-sparse))
--.PHONY: mkpatches mrproper
--
# Setup pristine search path
PRISTINE_SRC_PATH ?= .:..
vpath pristine-% $(PRISTINE_SRC_PATH)
$(patsubst patches/%,patches/%/.makedep,$(PATCHDIRS)): patches/%/.makedep:
@echo 'ref-$*/.valid-ref: $$(wildcard patches/$*/*.patch)' >$@
++.PHONY: clean
clean::
rm -f patches/*/.makedep
rm -rf pristine-$(*)* ref-$(*)* $*.tar.bz2
rm -rf $*-xen.patch
++.PHONY: config-update-pae
config-update-pae:
ifeq ($(XEN_TARGET_X86_PAE),y)
sed -e 's!^CONFIG_HIGHMEM4G=y$$!\# CONFIG_HIGHMEM4G is not set!;s!^\# CONFIG_HIGHMEM64G is not set$$!CONFIG_HIGHMEM64G=y!' $(CONFIG_FILE) > $(CONFIG_FILE)- && mv $(CONFIG_FILE)- $(CONFIG_FILE)
include buildconfigs/Rules.mk
--.PHONY: build clean delete
--
# The real action starts here!
++.PHONY: build
build: $(LINUX_DIR)/include/linux/autoconf.h
if grep "^CONFIG_MODULES=" $(LINUX_DIR)/.config ; then \
$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) modules ; \
rm -f Makefile ; mv Mk.tmp Makefile )
$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) oldconfig
++.PHONY: prep
prep: $(LINUX_DIR)/include/linux/autoconf.h
++.PHONY: config
config: CONFIGMODE = menuconfig
config: $(LINUX_DIR)/include/linux/autoconf.h
$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) $(CONFIGMODE)
++.PHONY: clean
clean::
$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) clean
++.PHONY: delete
delete:
rm -rf tmp-linux-$(LINUX_VER) $(LINUX_DIR)
GFX = $(patsubst %.fig, %.eps, $(wildcard figs/*.fig))
--.PHONY: all build dev-docs python-dev-docs ps pdf html clean install
--
++.PHONY: all
all: build
++
++.PHONY: build
build: ps pdf html man-pages
rm -f *.aux *.dvi *.bbl *.blg *.glo *.idx *.ilg *.log *.ind *.toc
++.PHONY: dev-docs
dev-docs: python-dev-docs
++.PHONY: ps
ps: $(DOC_PS)
++.PHONY: pdf
pdf: $(DOC_PDF)
++.PHONY: html
html:
@if which $(LATEX2HTML) 1>/dev/null 2>/dev/null; then \
$(MAKE) $(DOC_HTML); fi
++.PHONY: python-dev-docs
python-dev-docs:
@mkdir -v -p api/tools/python
@if which $(DOXYGEN) 1>/dev/null 2>/dev/null; then \
$(MAKE) -C api/tools/python/latex ; else \
echo "Doxygen not installed; skipping python-dev-docs."; fi
++.PHONY: man-pages
man-pages:
@if which $(POD2MAN) 1>/dev/null 2>/dev/null; then \
$(MAKE) $(DOC_MAN1) $(DOC_MAN5); fi
$(POD2MAN) --release=$(VERSION) --name=`echo $@ | sed 's/^man5.//'| \
sed 's/.5//'` -s 5 -c "Xen" $< $@
++.PHONY: clean
clean:
rm -rf .word_count *.aux *.dvi *.bbl *.blg *.glo *.idx *~
rm -rf *.ilg *.log *.ind *.toc *.bak core
rm -rf man5
rm -rf man1
++.PHONY: install
install: all
rm -rf $(DESTDIR)$(pkgdocdir)
$(INSTALL_DIR) $(DESTDIR)$(pkgdocdir)
HDRS := $(wildcard include/*.h)
HDRS += $(wildcard include/xen/*.h)
++.PHONY: default
default: $(TARGET)
++.PHONY: links
links:
[ -e include/xen ] || ln -sf ../../../xen/include/public include/xen
$(LD) -N -T minios-$(TARGET_ARCH).lds $(OBJS) -o $@.elf
gzip -f -9 -c $@.elf >$@.gz
++.PHONY: clean
clean:
find . -type f -name '*.o' | xargs rm -f
rm -f *.o *~ core $(TARGET).elf $(TARGET).raw $(TARGET) $(TARGET).gz
SUBDIRS += pygrub
endif
--.PHONY: all install clean check check_clean ioemu eioemuinstall ioemuclean
--
++.PHONY: all
all: check
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
done
$(MAKE) ioemu
++.PHONY: install
install: check
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
$(MAKE) ioemuinstall
$(INSTALL_DIR) -p $(DESTDIR)/var/xen/dump
++.PHONY: clean
clean: check_clean
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
done
$(MAKE) ioemuclean
++.PHONY: check
check:
$(MAKE) -C check
++.PHONY: check_clean
check_clean:
$(MAKE) -C check clean
++.PHONY: ioemu ioemuinstall ioemuclean
ifndef XEN_NO_IOEMU
ioemu ioemuinstall ioemuclean:
[ -f ioemu/config-host.h ] || \
%.o: %.cc
$(CC) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<
++.PHONY: mk-symlinks
mk-symlinks: LINUX_ROOT=$(XEN_ROOT)/linux-2.6-xen-sparse
mk-symlinks:
mkdir -p xen
LIB = libblktap.so libblktap.so.$(MAJOR) libblktap.so.$(MAJOR).$(MINOR)
++.PHONY: all
all: mk-symlinks libblktap.so #blkdump
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
done
++.PHONY: install
install: all
$(INSTALL_DIR) -p $(DESTDIR)/usr/$(LIBDIR)
$(INSTALL_DIR) -p $(DESTDIR)/usr/include
$(MAKE) -C $$subdir $@; \
done
++.PHONY: clean
clean:
rm -rf *.a *.so *.o *.rpm $(LIB) *~ $(DEPS) xen TAGS blkdump
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
done
++.PHONY: rpm
rpm: all
rm -rf staging
mkdir staging
.PHONY: TAGS clean install mk-symlinks rpm
++.PHONY: TAGS
TAGS:
etags -t $(SRCS) *.h
OBJS = $(patsubst %.c,%.o,$(SRCS))
IBINS = parallax $(VDI_TOOLS)
++.PHONY: all
all: $(VDI_TOOLS) parallax blockstored
++.PHONY: install
install: all
$(INSTALL_PROG) $(IBINS) $(DESTDIR)$(PARALLAX_INSTALL_DIR)
++.PHONY: clean
clean:
rm -rf *.o *~ $(DEPS) xen TAGS $(VDI_TOOLS) parallax vdi_unittest
${VDI_TOOLS}: %: %.c $(VDI_SRCS)
$(CC) $(CFLAGS) -o $@ $@.c $(LDFLAGS) $(VDI_SRCS)
--.PHONY: TAGS clean install rpm
-include $(DEPS)
OBJS = $(patsubst %.c,%.o,$(SRCS))
++.PHONY: all
all: $(IBIN)
LINUX_ROOT := $(wildcard $(XEN_ROOT)/linux-2.6.*-xen-sparse)
++.PHONY: install
install:
$(INSTALL_PROG) $(IBIN) $(DESTDIR)$(INSTALL_DIR)
++
++.PHONY: clean
clean:
rm -rf *.o*~ $(DEPS) xen TAGS $(IBIN)
$(CC) $(CFLAGS) -o ublkback -L$(XEN_LIBXC) -L. -L.. \
-lblktap -laio ublkback.c ublkbacklib.c -pg
--.PHONY: clean install
--
-include $(DEPS)
++.PHONY: all
all: build
# Check this machine is OK for building on.
++.PHONY: build
build:
./chk build
# DO NOT use this check from 'make install' in the parent
# directory, as that target can be used to make an installable
# copy rather than actually installing.
++.PHONY: install
install:
./chk install
++.PHONY: clean
clean:
-- ./chk clean
++ ./chk clean
BIN = xenconsoled xenconsole
++.PHONY: all
all: $(BIN)
++.PHONY: clean
clean:
$(RM) *.a *.so *.o *.rpm $(BIN)
$(RM) client/*.o daemon/*.o
$(CC) $(CFLAGS) $^ -o $@ -L$(XEN_LIBXC) -L$(XEN_XENSTORE) \
-lxenctrl -lxenstore
++.PHONY: install
install: $(BIN)
$(INSTALL_DIR) -p $(DESTDIR)/$(DAEMON_INSTALL_DIR)
$(INSTALL_PROG) xenconsoled $(DESTDIR)/$(DAEMON_INSTALL_DIR)
LDFLAGS=-static
++.PHONY: all
all: console-dom0 console-domU procpipe
console-dom0: console-dom0.o
console-domU: console-domU.o
procpipe: procpipe.o
++.PHONY: clean
clean:; $(RM) *.o console-domU console-dom0 procpipe
LIB := libxendebug.a libxendebug.so
LIB += libxendebug.so.$(MAJOR) libxendebug.so.$(MAJOR).$(MINOR)
++.PHONY: all
all: build
++
++.PHONY: build
build:
$(MAKE) $(LIB)
++.PHONY: install
install: build
[ -d $(DESTDIR)/usr/$(LIBDIR) ] || $(INSTALL_DIR) $(DESTDIR)/usr/$(LIBDIR)
[ -d $(DESTDIR)/usr/include ] || $(INSTALL_DIR) $(DESTDIR)/usr/include
ln -sf libxendebug.so.$(MAJOR) $(DESTDIR)/usr/$(LIBDIR)/libxendebug.so
$(INSTALL_DATA) xendebug.h $(DESTDIR)/usr/include
--.PHONY: TAGS clean rpm install all
--
++.PHONY: TAGS
TAGS:
etags -t $(SRCS) *.h
++.PHONY: clean
clean:
rm -rf *.a *.so* *.o *.opic *.rpm $(LIB) *~ $(DEPS) xen
++.PHONY: rpm
rpm: build
rm -rf staging
mkdir staging
# bc = byte-code, dc = debug byte-code
# patches = patch linux domU source code
++.PHONY: all
all : dc
SOURCES += pdb_caml_xc.c
include $(OCAMLMAKEFILE)
PATCHDIR = ./linux-2.6-patches
++.PHONY: patches
patches :
make -C $(PATCHDIR) patches
CFLAGS += -Wall
CFLAGS += -Werror
++.PHONY: module
module :
# make KBUILD_VERBOSE=1 ARCH=xen -C $(KDIR) M=$(PWD) modules
make ARCH=xen -C $(KDIR) M=$(PWD) modules
++.PHONY: clean
clean :
make -C $(KDIR) M=$(PWD) clean
KDIR = $(XEN_ROOT)/$(LINUX_DIR)
PATCH_DIR = $(CURDIR)
++.PHONY: patches
patches : patches-done
patches-done :
endif
endif
++.PHONY: all
all:
++
++.PHONY: build
build:
++.PHONY: install
install: all install-initd install-configs install-scripts $(HOTPLUGS)
++.PHONY: install-initd
install-initd:
[ -d $(DESTDIR)/etc/init.d ] || $(INSTALL_DIR) $(DESTDIR)/etc/init.d
[ -d $(DESTDIR)/etc/sysconfig ] || $(INSTALL_DIR) $(DESTDIR)/etc/sysconfig
$(INSTALL_PROG) $(XENDOMAINS_INITD) $(DESTDIR)/etc/init.d
$(INSTALL_PROG) $(XENDOMAINS_SYSCONFIG) $(DESTDIR)/etc/sysconfig/xendomains
++.PHONY: install-configs
install-configs: $(XEN_CONFIGS)
[ -d $(DESTDIR)$(XEN_CONFIG_DIR) ] || \
$(INSTALL_DIR) $(DESTDIR)$(XEN_CONFIG_DIR)
$(INSTALL_DATA) $$i $(DESTDIR)$(XEN_CONFIG_DIR); \
done
++.PHONY: install-scripts
install-scripts:
[ -d $(DESTDIR)$(XEN_SCRIPT_DIR) ] || \
$(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR)
$(INSTALL_DATA) $$i $(DESTDIR)$(XEN_SCRIPT_DIR); \
done
++.PHONY: install-hotplug
install-hotplug:
[ -d $(DESTDIR)$(XEN_HOTPLUG_DIR) ] || \
$(INSTALL_DIR) $(DESTDIR)$(XEN_HOTPLUG_DIR)
$(INSTALL_PROG) $$i $(DESTDIR)$(XEN_HOTPLUG_DIR); \
done
++.PHONY: install-udev
install-udev:
[ -d $(DESTDIR)$(UDEV_RULES_DIR) ] || \
$(INSTALL_DIR) $(DESTDIR)$(UDEV_RULES_DIR)/rules.d
ln -sf ../$$i . ) \
done
++.PHONY: clean
clean:
SUBDIRS += vmxassist
SUBDIRS += hvmloader
--.PHONY: all install clean
--
++.PHONY: all
all:
@set -e; if ! `which bcc 1>/dev/null 2>/dev/null`; then \
echo "***********************************************************"; \
fi
++.PHONY: install
install: all
[ -d $(INSTALL_DIR) ] || install -d -m0755 $(INSTALL_DIR)
[ ! -e $(TARGET) ] || install -m0644 $(TARGET) $(INSTALL_DIR)
++.PHONY: clean
clean:
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
IASL_URL=http://developer.intel.com/technology/iapc/acpi/downloads/$(IASL_VER).tar.gz
vpath iasl $(PATH)
++.PHONY: all
all:$(ACPI_BIN)
acpi_dsdt.c:acpi_dsdt.asl
echo "int DsdtLen=sizeof(AmlCode);" >> acpi_dsdt.c
rm *.aml
++.PHONY: iasl
iasl:
@echo
@echo "ACPI ASL compiler(iasl) is needed"
$(ACPI_BIN):$(ACPI_GEN)
./$(ACPI_GEN) $(ACPI_BIN)
++.PHONY: clean
clean:
rm -rf *.o $(ACPI_GEN) $(ACPI_BIN) $(IASL_VER)
rm -rf $(IASL_VER).tar.gz
++.PHONY: install
install: all
CFLAGS += $(DEFINES) -I. $(XENINC) -fno-builtin -O2 -msoft-float
LDFLAGS = -m32 -nostdlib -Wl,-N -Wl,-Ttext -Wl,$(LOADADDR)
++.PHONY: all
all: hvmloader
hvmloader: roms.h hvmloader.c acpi_madt.c
./mkhex vmxassist ../vmxassist/vmxassist.bin >> roms.h
./mkhex acpi ../acpi/acpi.bin >> roms.h
++.PHONY: clean
clean:
rm -f roms.h acpi.h
rm -f hvmloader hvmloader.tmp hvmloader.o $(OBJECTS)
#BIOS_BUILDS += BIOS-bochs-4-processors
#BIOS_BUILDS += BIOS-bochs-8-processors
++.PHONY: all
all: bios
++.PHONY: bios
bios: biossums ${BIOS_BUILDS}
++.PHONY: clean
clean:
rm -f *.o *.a *.s rombios.bin _rombios*_.c
rm -f as86-sym.txt ld86-sym.txt
VGABIOS_DATE = "-DVGABIOS_DATE=\"$(RELDATE)\""
++.PHONY: all
all: bios cirrus-bios
++.PHONY: bios
bios: biossums vgabios.bin vgabios.debug.bin
++.PHONY: cirrus-bios
cirrus-bios: vgabios-cirrus.bin vgabios-cirrus.debug.bin
++.PHONY: clean
clean:
rm -f biossums *.o *.s *.ld86 \
temp.awk.* vgabios*.orig _vgabios_* _vgabios-debug_* core vgabios*.bin vgabios*.txt $(RELEASE).bin *.bak
rm -f VGABIOS-lgpl-latest*.bin
++.PHONY: release
release:
VGABIOS_VERS=\"-DVGABIOS_VERS=\\\"$(RELVERS)\\\"\" make bios cirrus-bios
/bin/rm -f *.o *.s *.ld86 \
OBJECTS = head.o trap.o vm86.o setup.o util.o
++.PHONY: all
all: vmxassist.bin
vmxassist.bin: vmxassist.ld $(OBJECTS)
gen: vm86.h gen.c
$(HOSTCC) $(HOSTCFLAGS) -I. $(XENINC) -o gen gen.c
++.PHONY: clean
clean:
rm -f vmxassist vmxassist.tmp vmxassist.bin vmxassist.run vmxassist.sym head.s
rm -f $(OBJECTS)
XEN_ROOT=../..
linuxsparsetree = $(XEN_ROOT)/linux-2.6-xen-sparse
++.PHONY: all
all:
++.PHONY: check
check:
++.PHONY: install
install:
mkdir -p $(DESTDIR)/usr/include/xen/linux
install -m0644 $(linuxsparsetree)/include/xen/public/*.h $(DESTDIR)/usr/include/xen/linux
++.PHONY: clean
clean:
endif
#DOCS=qemu-doc.html qemu-tech.html qemu.1
++.PHONY: all
all: $(DOCS) HEADERS
for d in $(TARGET_DIRS); do \
$(MAKE) -C $$d $@ || exit 1 ; \
dyngen$(EXESUF): dyngen.c
$(HOST_CC) $(CFLAGS) $(DEFINES) -o $@ $^
++.PHONY: clean
clean:
# avoid old build problems by removing potentially incorrect old files
rm -f config.mak config.h op-i386.h opc-i386.h gen-op-i386.h op-arm.h opc-arm.h gen-op-arm.h
rm -f config-host.mak config-host.h
rm -f keysym_adapter_sdl.h keysym_adapter_vnc.h
++.PHONY: distclean
distclean: clean
rm -f config-host.mak config-host.h
rm -f keysym_adapter_sdl.h keysym_adapter_vnc.h
ar de en-us fi fr-be hr it lv nl pl ru th \
common de-ch es fo fr-ca hu ja mk nl-be pt sl tr
++.PHONY: install
install: all
mkdir -p "$(bindir)"
mkdir -p "$(DESTDIR)/$(datadir)"
done
# various test targets
++.PHONY: test speed test2
test speed test2: all
$(MAKE) -C tests $@
++.PHONY: TAGS
TAGS:
etags *.[ch] tests/*.[ch]
FILE=qemu-$(shell cat VERSION)
# tar release (use 'make -k tar' on a checkouted tree)
++.PHONY: tar
tar:
rm -rf /tmp/$(FILE)
cp -r . /tmp/$(FILE)
rm -rf /tmp/$(FILE)
# generate a binary distribution
++.PHONY: tarbin
tarbin:
( cd $(DESTDIR) ; tar zcvf ~/qemu-$(VERSION)-i386.tar.gz \
$(DESTDIR)/$(bindir)/qemu $(DESTDIR)/$(bindir)/qemu-fast \
include .depend
endif
++.PHONY: HEADERS
HEADERS:
ifdef CONFIG_SDL
sdlaudio.o: sdlaudio.c
$(CC) $(CFLAGS) $(DEFINES) $(SDL_CFLAGS) -c -o $@ $<
++.PHONY: depend
depend: $(SRCS)
$(CC) -MM $(CFLAGS) $(DEFINES) $^ 1>.depend
%.o: %.S
$(CC) $(DEFINES) -c -o $@ $<
++.PHONY: clean
clean:
rm -rf *.o *.a *~ $(PROGS) gen-op.h opc.h op.h nwfpe slirp
rm -rf config.mak config.h
++.PHONY: distclean
distclean: clean
++.PHONY: install
install: all
if [ ! -d $(INSTALL_DIR) ];then mkdir -p $(INSTALL_DIR);fi
if [ ! -d $(DESTDIR)$(configdir) ];then mkdir -p $(DESTDIR)$(configdir);fi
LIB += libxenguest.a
LIB += libxenguest.so libxenguest.so.$(MAJOR) libxenguest.so.$(MAJOR).$(MINOR)
++.PHONY: all
all: build
++
++.PHONY: build
build: check-for-zlib mk-symlinks
$(MAKE) $(LIB)
++.PHONY: check-for-zlib
check-for-zlib:
@if [ ! -e /usr/include/zlib.h ]; then \
echo "***********************************************************"; \
false; \
fi
++.PHONY: install
install: build
[ -d $(DESTDIR)/usr/$(LIBDIR) ] || $(INSTALL_DIR) $(DESTDIR)/usr/$(LIBDIR)
[ -d $(DESTDIR)/usr/include ] || $(INSTALL_DIR) $(DESTDIR)/usr/include
ln -sf libxenguest.so.$(MAJOR) $(DESTDIR)/usr/$(LIBDIR)/libxenguest.so
$(INSTALL_DATA) xenguest.h $(DESTDIR)/usr/include
--.PHONY: TAGS clean rpm install all
--
++.PHONY: TAGS
TAGS:
etags -t *.c *.h
++.PHONY: clean
clean:
rm -rf *.a *.so* *.o *.opic *.rpm $(LIB) *~ $(DEPS) xen
++.PHONY: rpm
rpm: build
rm -rf staging
mkdir staging
INSTALL_BIN = $(TARGETS) xencons
INSTALL_SBIN = netfix xm xen-bugtool xend xenperf
++.PHONY: all
all: build
++
++.PHONY: build
build: $(TARGETS)
$(MAKE) -C miniterm
$(MAKE) -C cpuperf
endif
$(MAKE) -C lomount
++.PHONY: install
install: build
[ -d $(DESTDIR)/usr/bin ] || $(INSTALL_DIR) $(DESTDIR)/usr/bin
[ -d $(DESTDIR)/usr/sbin ] || $(INSTALL_DIR) $(DESTDIR)/usr/sbin
# Likewise mbootpack
# $(MAKE) -C mbootpack install
++.PHONY: clean
clean:
$(RM) *.o $(TARGETS) *~
$(MAKE) -C miniterm clean
INSTALL_BIN = $(TARGETS)
++.PHONY: all
all: $(TARGETS)
++.PHONY: clean
clean:
$(RM) *.o $(TARGETS)
cpuperf-perfcntr: cpuperf.c $(HDRS) Makefile
$(CC) $(CFLAGS) -DPERFCNTR -o $@ $<
++.PHONY: install
install: all
$(INSTALL_PROG) $(INSTALL_BIN) $(DESTDIR)/usr/bin
BIN = lomount
++.PHONY: all
all: build
++
++.PHONY: build
build: $(BIN)
++.PHONY: install
install: build
$(INSTALL_PROG) $(BIN) $(SCRIPTS) $(DESTDIR)/usr/bin
++.PHONY: clean
clean:
$(RM) *.a *.so *.o *.rpm $(BIN)
XEN_ROOT=../../..
include $(XEN_ROOT)/tools/Rules.mk
++.PHONY: all
all: build
++
++.PHONY: build
build: mbootpack
++.PHONY: install
install: build
$(INSTALL_PROG) mbootpack $(DESTDIR)/usr/bin
mbootpack: $(OBJS)
$(HOSTCC) -o $@ $(filter-out %.a, $^)
++.PHONY: clean
clean:
$(RM) mbootpack *.o $(DEPS) bootsect setup bzimage_header.c bin2c
%.o: %.c
$(HOSTCC) $(DEPFLAGS) $(CFLAGS) $(INCS) $(DEFS) -c $< -o $@
--.PHONY: all clean gdb
.PRECIOUS: $(OBJS) $(OBJS:.o=.c) $(DEPS)
.SUFFIXES:
TARGET = miniterm
++.PHONY: all
all: $(TARGET)
++.PHONY: install
install: all
[ -d $(DESTDIR)/usr/bin ] || $(INSTALL_DIR) $(DESTDIR)/usr/bin
$(INSTALL_PROG) $(TARGET) $(DESTDIR)/usr/bin
++.PHONY: clean
clean:
$(RM) *.o $(TARGET) *~
TARGET = nsplitd
++.PHONY: all
all: $(TARGET)
++.PHONY: install
install: all
++.PHONY: clean
clean:
$(RM) *.o $(TARGET) *~
XEN_ROOT = ../..
include $(XEN_ROOT)/tools/Rules.mk
++.PHONY: all
all: build
++.PHONY: build
build:
CFLAGS="$(CFLAGS)" python setup.py build
++.PHONY: install
ifndef XEN_PYTHON_NATIVE_INSTALL
install: all
CFLAGS="$(CFLAGS)" python setup.py install --home="$(DESTDIR)/usr"
CFLAGS="$(CFLAGS)" python setup.py install --root="$(DESTDIR)"
endif
++.PHONY: clean
clean:
- rm -rf build tmp *.pyc *.pyo *.o *.a *~
+ rm -rf build tmp *.pyc *.pyo *.o *.a *~ a.out
XEN_ROOT = ../..
include $(XEN_ROOT)/tools/Rules.mk
--.PHONY: all build install clean
--
++.PHONY: all
all: build
++
++.PHONY: build
build:
CFLAGS="$(CFLAGS)" python setup.py build
++.PHONY: install
ifndef XEN_PYTHON_NATIVE_INSTALL
install: all
CFLAGS="$(CFLAGS)" python setup.py install --home="$(DESTDIR)/usr" --force
CFLAGS="$(CFLAGS)" python setup.py install --root="$(DESTDIR)" --force
endif
++.PHONY: test
test:
export LD_LIBRARY_PATH=$$(readlink -f ../libxc):$$(readlink -f ../xenstore); python test.py -b -u
++.PHONY: clean
clean:
rm -rf build *.pyc *.pyo *.o *.a *~
ACM_LABEL_SUFFIX = security_label_template.xml
ifeq ($(ACM_SECURITY),y)
++.PHONY: all
all: build
++.PHONY: install
install: all $(ACM_CONFIG_FILE)
$(INSTALL_DIR) -p $(DESTDIR)/usr/sbin
$(INSTALL_PROG) -p $(ACM_INST_TOOLS) $(DESTDIR)/usr/sbin
python python/setup.py install --root="$(DESTDIR)"
endif
else
++.PHONY: all
all:
++.PHONY: install
install:
endif
++.PHONY: build
build: mk-symlinks $(ACM_INST_TOOLS) $(ACM_NOINST_TOOLS)
python python/setup.py build
chmod 700 $(ACM_SCRIPTS)
xensec_gen: xensec_gen.py
cp -f $^ $@
++.PHONY: clean
clean:
$(RM) $(ACM_INST_TOOLS) $(ACM_NOINST_TOOLS)
$(RM) $(ACM_OBJS)
$(RM) -r xen
$(RM) -r build
++.PHONY: mrproper
mrproper: clean
++.PHONY: boot_install
boot_install: install
$(ACM_SCRIPT_DIR)/updategrub.sh $(POLICY) $(KERNEL_VERSION)
HOSTCFLAGS += -D__TEST_HARNESS__
++.PHONY: all
all: $(TARGET)
$(TARGET): x86_emulate.o test_x86_emulator.o
$(HOSTCC) -o $@ $^
++.PHONY: clean
clean:
rm -rf $(TARGET) *.o *~ core
++.PHONY: install
install:
x86_emulate.o: $(XEN_ROOT)/xen/arch/x86/x86_emulate.c
include $(VNET_ROOT)/Make.env
endif
--.PHONY: all compile install dist clean pristine
--.PHONY: gc-all gc-install gc-clean
--.PHONY: help
--
SUBDIRS:=
SUBDIRS+= examples
SUBDIRS+= scripts
SUBDIRS+= vnetd
SUBDIRS+= vnet-module
++.PHONY: all
all: compile
gc.tar.gz:
wget http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/$@
++.PHONY: gc
gc: gc.tar.gz
tar xfz gc.tar.gz
ln -sf gc?.? gc
make -C gc
DESTDIR="" make -C gc install
++.PHONY: gc-all
gc-all: $(GC_LIB_A)
++.PHONY: gc-install
gc-install:
++.PHONY: gc-clean
gc-clean:
-@$(RM) -r gc?.? gc
%-install:
$(call submak,install)
++.PHONY: compile
compile: $(call subtgt,all)
++.PHONY: install
install: DESTDIR=
install: dist
++.PHONY: dist
dist: compile $(call subtgt,install)
++.PHONY: clean
clean: $(call subtgt,clean)
-@$(RM) -r build
++.PHONY: pristine
pristine: clean
-@$(RM) gc.tar.gz
++.PHONY: help
help:
@echo 'Cleaning targets:'
@echo ' clean - clean subdirs and remove the build dir'
.PHONY: all man clean install
++.PHONY: all
all: man
++.PHONY: man
man:
@if which $(POD2MAN) 1>/dev/null 2>/dev/null; then \
$(MAKE) $(DOC_MAN1) $(DOC_MAN5); fi
$(POD2MAN) --release=$(VERSION) --name=`echo $@ | sed 's/^man5.//'| \
sed 's/.5//'` -s 5 -c $(HEADER) $< $@
++.PHONY: clean
clean:
@$(RM) -rf man5
@$(RM) -rf man1
++.PHONY: install
install: all
$(INSTALL_DIR) $(DESTDIR)$(MAN_DIR)
$(CP) -dR man1 $(DESTDIR)$(MAN_DIR)
XEN_SCRIPT_DIR = $(DESTDIR)/etc/xen/scripts
--.PHONY: all install clean
--
++.PHONY: all
all:
++.PHONY: install
install:
$(INSTALL_DIR) $(XEN_SCRIPT_DIR)
$(INSTALL_PROG) network-vnet $(XEN_SCRIPT_DIR)
$(INSTALL_PROG) vnet-insert $(XEN_SCRIPT_DIR)
--clean:
++.PHONY: clean
++clean:
LIB += libxutil.so.$(MAJOR).$(MINOR)
LIB += libxutil.a
++.PHONY: all
all: build
++.PHONY: build
build: #check-for-zlib
$(MAKE) $(LIB)
libxutil.a: $(LIB_OBJS)
$(AR) rc $@ $^
++.PHONY: check-for-zlib
check-for-zlib:
@if [ ! -e /usr/include/zlib.h ]; then \
echo "***********************************************************"; \
false; \
fi
++.PHONY: install
install: build
[ -d $(DESTDIR)/usr/$(LIBDIR) ] || $(INSTALL_DIR) -p $(DESTDIR)/usr/$(LIBDIR)
$(INSTALL_PROG) libxutil.so.$(MAJOR).$(MINOR) $(DESTDIR)/usr/$(LIBDIR)
ln -sf libxutil.so.$(MAJOR).$(MINOR) $(DESTDIR)/usr/$(LIBDIR)/libxutil.so.$(MAJOR)
ln -sf libxutil.so.$(MAJOR) $(DESTDIR)/usr/$(LIBDIR)/libxutil.so
++.PHONY: clean
clean:
-@$(RM) *.a *.so* *.o *.opic *.rpm
-@$(RM) *~
SBIN_DIR = $(DESTDIR)/usr/sbin
--.PHONY: all install clean
--
++.PHONY: all
all:
++.PHONY: install
install:
$(INSTALL_DIR) $(SBIN_DIR)
$(INSTALL_PROG) vn $(SBIN_DIR)
--clean:
++.PHONY: clean
++clean:
VNET_ROOT = $(shell cd .. && pwd)
include $(VNET_ROOT)/Make.env
++.PHONY: all
all: vnetd
#----------------------------------------------------------------------------
vnetd: $(VNETD_OBJ)
$(CC) $(CFLAGS) -o $@ $^ $(VNETD_LIBS) -ldl -lpthread
++.PHONY: install
install: vnetd
mkdir -p $(DESTDIR)$(VNETD_INSTALL_DIR)
install -m 0755 vnetd $(DESTDIR)$(VNETD_INSTALL_DIR)
++.PHONY: clean
clean:
-@$(RM) *.a *.o *~
-@$(RM) vnetd
GMP_HEADER = /usr/include/gmp.h
++.PHONY: all
all: build
++.PHONY: build
build: $(TPM_EMULATOR_DIR) $(VTPM_DIR) build_sub
++.PHONY: install
install: build
$(MAKE) -C $(TPM_EMULATOR_DIR) $@
$(MAKE) -C $(VTPM_DIR) $@
++.PHONY: clean
clean:
@if [ -d $(TPM_EMULATOR_DIR) ]; \
then $(MAKE) -C $(TPM_EMULATOR_DIR) clean; \
then $(MAKE) -C $(VTPM_DIR) clean; \
fi
++.PHONY: mrproper
mrproper:
rm -f $(TPM_EMULATOR_TARFILE)
rm -rf $(TPM_EMULATOR_DIR)
patch -p1 < ../tpm_emulator-0.2b-x86_64.patch; \
patch -p1 <../vtpm.patch
++.PHONY: build_sub
build_sub:
@if [ -e $(GMP_HEADER) ]; then \
$(MAKE) -C $(VTPM_DIR); \
SUBDIRS = crypto tcs util manager
OPENSSL_HEADER = /usr/include/openssl/crypto.h
++.PHONY: all
all: build
++.PHONY: build
build:
@if [ -e $(OPENSSL_HEADER) ]; then \
@set -e; for subdir in $(SUBDIRS); do \
echo "*** Cannot build vtpm_manager: OpenSSL developement files missing."; \
fi
++.PHONY: install
install: build
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
done
++.PHONY: clean
clean:
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
done
++.PHONY: mrproper
mrproper:
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
BIN = libtcpaCrypto.a
++.PHONY: all
all: build
++.PHONY: build
build: $(BIN)
++.PHONY: install
install: build
++.PHONY: clean
clean:
rm -f *.a *.so *.o *.rpm $(DEP_FILES)
++.PHONY: mrproper
mrproper: clean
rm -f *~
BIN = vtpm_managerd
++.PHONY: all
all: build
++.PHONY: build
build: $(BIN)
++.PHONY: install
install: build
if [ ! -d "$(DESTDIR)/var/vtpm/fifos" ]; \
then mkdir -p $(DESTDIR)/var/vtpm/fifos; \
fi
$(INSTALL_PROG) $(BIN) $(TOOLS_INSTALL_DIR)
++.PHONY: clean
clean:
rm -f *.a *.so *.o *.rpm $(DEP_FILES)
++.PHONY: mrproper
mrproper: clean
rm -f $(BIN) *~
BIN = libTCS.a
++.PHONY: all
all: build
++.PHONY: build
build: $(BIN)
++.PHONY: install
install: build
++.PHONY: clean
clean:
rm -f *.a *.so *.o *.rpm $(DEP_FILES)
++.PHONY: mrproper
mrproper: clean
rm -f *~
BIN = libTCGUtils.a
++.PHONY: all
all: build
++.PHONY: build
build: $(BIN)
++.PHONY: install
install: build
++.PHONY: clean
clean:
rm -f *.a *.so *.o *.rpm $(DEP_FILES)
++.PHONY: mrproper
mrproper: clean
rm -f *~
.PHONY: all
all: build
++
++.PHONY: build
build: $(PROGRAMS)
$(PROGRAMS): %: %.o
$(INSTALL_PROG) $(PROGRAMS) $(DESTDIR)$(PROGRAMS_INSTALL_DIR)
++.PHONY: clean
clean:
$(RM) *.o $(PROGRAMS)
$(RM) $(PROG_DEP)
BIN = setmask xenbaked
SCRIPTS = xenmon.py
++.PHONY: all
all: build
++.PHONY: build
build: $(BIN)
++.PHONY: install
install: xenbaked setmask
[ -d $(DESTDIR)$(sbindir) ] || $(INSTALL_DIR) $(DESTDIR)$(sbindir)
$(INSTALL_PROG) xenbaked $(DESTDIR)$(sbindir)/xenbaked
$(INSTALL_PROG) setmask $(DESTDIR)$(sbindir)/setmask
$(INSTALL_PROG) xenmon.py $(DESTDIR)$(sbindir)/xenmon.py
++.PHONY: clean
clean:
rm -f $(BIN)
CFLAGS+=-Isrc -I$(XEN_LIBXC) -I$(XEN_XENSTORE)
LDFLAGS+=-Lsrc
++.PHONY: all
all: $(LIB)
$(LIB): $(OBJECTS)
src/libxenstat.so: src/libxenstat.so.$(MAJOR)
$(MAKE_LINK) $(<F) $@
++.PHONY: install
install: all
#install: all
# $(INSTALL_DATA) src/xenstat.h $(DESTDIR)$(includedir)/xenstat.h
BINDINGSRC=$(PYSRC) $(PERLSRC)
# The all-bindings target builds all the language bindings
++.PHONY: all-bindings
all-bindings: perl-bindings python-bindings
# The install-bindings target installs all the language bindings
$(INSTALL_PROG) $(PYMOD) $(DESTDIR)$(pythonlibdir)/xenstat.py
ifeq ($(XENSTAT_PYTHON_BINDINGS),y)
++.PHONY: all
all: python-bindings
install: install-python-bindings
endif
$(PERLLIB): $(PERLSRC)
$(CC) $(CFLAGS) $(LDFLAGS) $(PERL_FLAGS) -shared -lxenstat -o $@ $<
++.PHONY: perl-bindings
perl-bindings: $(PERLLIB) $(PERLMOD)
++.PHONY: install-perl-bindings
perllibdir=$(prefix)/lib/perl5
perlmoddir=$(prefix)/share/perl5
install-perl-bindings: $(PERLLIB) $(PERLMOD)
$(INSTALL_PROG) $(PERLMOD) $(DESTDIR)$(perlmoddir)/xenstat.pm
ifeq ($(XENSTAT_PERL_BINDINGS),y)
++.PHONY: all
all: perl-bindings
++
++.PHONY: install
install: install-perl-bindings
endif
++.PHONY: clean
clean:
rm -f $(LIB) $(SHLIB) $(SHLIB_LINKS) $(OBJECTS) \
$(BINDINGS) $(BINDINGSRC)
include $(XEN_ROOT)/tools/Rules.mk
ifneq ($(XENSTAT_XENTOP),y)
++.PHONY: all install xentop
all install xentop:
else
LDFLAGS += -L$(XEN_LIBXENSTAT)
LDLIBS += -lxenstat -lncurses
++.PHONY: all
all: xentop
++.PHONY: xentop
xentop: xentop.o
++.PHONY: install
install: xentop xentop.1
$(INSTALL_PROG) xentop $(DESTDIR)$(sbindir)/xentop
$(INSTALL_DATA) xentop.1 $(DESTDIR)$(man1dir)/xentop.1
endif
++.PHONY: clean
clean:
rm -f xentop xentop.o
CLIENTS += xenstore-write
CLIENTS_OBJS := $(patsubst xenstore-%,xenstore_%.o,$(CLIENTS))
++.PHONY: all
all: libxenstore.so xenstored $(CLIENTS) xs_tdb_dump xenstore-control xenstore-ls
test_interleaved_transactions: test_interleaved_transactions.o
$(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -L. -lxenstore -o $@
++.PHONY: testcode
testcode: xs_test xenstored_test xs_random
xenstored: xenstored_core.o xenstored_watch.o xenstored_domain.o xenstored_transaction.o xs_lib.o talloc.o utils.o tdb.o hashtable.o
xs_tdb_dump: xs_tdb_dump.o utils.o tdb.o talloc.o
$(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -o $@
++.PHONY: xs_test xs_random xs_stress xs_crashme
xs_test xs_random xs_stress xs_crashme: LDFLAGS+=-lpthread
xs_test: xs_test.o xs_lib.o utils.o
xs_random: xs_random.o xs_test_lib.o xs_lib.o talloc.o utils.o
xs_stress: xs_stress.o xs_test_lib.o xs_lib.o talloc.o utils.o
xs_crashme: xs_crashme.o xs_lib.o talloc.o utils.o
++.PHONY: speedtest
speedtest: speedtest.o xs.o xs_lib.o utils.o talloc.o
++.PHONY: check-speed
check-speed: speedtest xenstored_test $(TESTDIR)
$(TESTENV) time ./speedtest 100
libxenstore.so: xs.opic xs_lib.opic
$(CC) $(CFLAGS) $(LDFLAGS) -Wl,-soname -Wl,libxenstore.so -shared -o $@ $^ -lpthread
++.PHONY: clean
clean: testsuite-clean
rm -f *.o *.opic *.so
rm -f xenstored xs_random xs_stress xs_crashme
rm -f $(CLIENTS)
$(RM) $(PROG_DEP)
++.PHONY: print-dir
print-dir:
@echo -n tools/xenstore:
++.PHONY: print-end
print-end:
@echo
++.PHONY: check
check: print-dir testsuite-fast randomcheck-fast print-end
++.PHONY: fullcheck
fullcheck: testsuite-run randomcheck stresstest
$(TESTDIR):
mkdir $@
++.PHONY: testsuite-run
testsuite-run: xenstored_test xs_test $(TESTDIR)
$(TESTENV) testsuite/test.sh && echo
++.PHONY: testsuite-fast
testsuite-fast: xenstored_test xs_test $(TESTDIR)
@$(TESTENV) testsuite/test.sh --fast
++.PHONY: testsuite-clean
testsuite-clean:
rm -rf $(TESTDIR)
# Make this visible so they can see repeat tests without --fast if they
# fail.
RANDSEED=$(shell date +%s)
++.PHONY: randomcheck
randomcheck: xs_random xenstored_test $(TESTDIR)
$(TESTENV) ./xs_random --simple --fast /tmp/xs_random 200000 $(RANDSEED) && echo
$(TESTENV) ./xs_random --fast /tmp/xs_random 100000 $(RANDSEED) && echo
# $(TESTENV) ./xs_random --fail /tmp/xs_random 10000 $(RANDSEED)
++.PHONY: crashme
crashme: xs_crashme xenstored_test $(TESTDIR)
rm -rf $(TESTDIR)/store $(TESTDIR)/transactions /tmp/xs_crashme.vglog* /tmp/trace
export $(TESTENV); ./xs_crashme 5000 $(RANDSEED) 2>/dev/null
if [ -n "`cat /tmp/xs_crashme.vglog*`" ]; then echo Valgrind complained; cat /tmp/xs_crashme.vglog*; exit 1; fi
rm -rf $(TESTDIR)/store $(TESTDIR)/transactions /tmp/xs_crashme.vglog* /tmp/trace
++.PHONY: randomcheck-fast
randomcheck-fast: xs_random xenstored_test $(TESTDIR)
@$(TESTENV) ./xs_random --fast /tmp/xs_random 2000 $(RANDSEED)
++.PHONY: stresstest
stresstest: xs_stress xenstored_test $(TESTDIR)
rm -rf $(TESTDIR)/store $(TESTDIR)/transactions
export $(TESTENV); PID=`./xenstored_test --output-pid --trace-file=/tmp/trace`; ./xs_stress 5000; ret=$$?; kill $$PID; exit $$ret
++.PHONY: TAGS
TAGS:
etags `find . -name '*.[ch]'`
++.PHONY: tarball
tarball: clean
cd .. && tar -c -j -v -h -f xenstore.tar.bz2 xenstore/
++.PHONY: install
install: all
$(INSTALL_DIR) -p $(DESTDIR)/var/run/xenstored
$(INSTALL_DIR) -p $(DESTDIR)/var/lib/xenstored
LIBBIN += xenctx
endif
++.PHONY: all
all: build
++
++.PHONY: build
build: $(BIN) $(LIBBIN)
++.PHONY: install
install: build
[ -d $(DESTDIR)/usr/bin ] || $(INSTALL_DIR) $(DESTDIR)/usr/bin
[ -z "$(LIBBIN)" ] || [ -d $(DESTDIR)/usr/$(LIBDIR)/xen/bin ] || \
$(INSTALL_DATA) $(MAN1) $(DESTDIR)/usr/share/man/man1
$(INSTALL_DATA) $(MAN8) $(DESTDIR)/usr/share/man/man8
++.PHONY: clean
clean:
$(RM) *.a *.so *.o *.rpm $(BIN) $(LIBBIN)
export BASEDIR := $(CURDIR)
++.PHONY: default
default: build
ifeq ($(XEN_ROOT),)
++.PHONY: build install clean
build install clean:
make -f Rules.mk $@
else
++.PHONY: build
build: $(TARGET).gz
++.PHONY: install
install: $(TARGET).gz
[ -d $(DESTDIR)/boot ] || $(INSTALL_DIR) $(DESTDIR)/boot
$(INSTALL_DATA) $(TARGET).gz $(DESTDIR)/boot/$(notdir $(TARGET))-$(XEN_FULLVERSION).gz
$(INSTALL_DATA) include/public/io/*.h $(DESTDIR)/usr/include/xen/io
$(INSTALL_DATA) include/public/COPYING $(DESTDIR)/usr/include/xen
++.PHONY: clean
clean:: delete-unfresh-files
$(MAKE) -C tools clean
$(MAKE) -f $(BASEDIR)/Rules.mk -C common clean
endif
++.PHONY: install
dist: install
--debug: FORCE
++.PHONY: debug
++debug:
objdump -D -S $(TARGET)-syms > $(TARGET).s
$(TARGET).gz: $(TARGET)
# drivers/char/console.o contains static banner/compile info. Blow it away.
# Don't refresh these files during e.g., 'sudo make install'
++.PHONY: delete-unfresh-files
delete-unfresh-files:
@if [ ! -r include/xen/compile.h -o -O include/xen/compile.h ]; then \
rm -f include/xen/{banner,compile}.h; \
echo ""; \
echo "#endif") <$< >$@
--.PHONY: default debug build install dist clean delete-unfresh-files TAGS tags
--
SUBDIRS = acm arch/$(TARGET_ARCH) common drivers
define all_sources
( find include/asm-$(TARGET_ARCH) -name SCCS -prune -o -name '*.h' -print; \
-name config \) -prune -o -name '*.h' -print; \
find $(SUBDIRS) -name SCCS -prune -o -name '*.[chS]' -print )
endef
++
++.PHONY: TAGS
TAGS:
$(all_sources) | etags -
++
++.PHONY: tags
tags:
$(all_sources) | xargs ctags
++
++.PHONY: cscope
cscope:
$(all_sources) > cscope.files
cscope -k -b -q
++
++.PHONY: MAP
MAP:
$(NM) $(TARGET) | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort > System.map
built_in.o: $(obj-y)
$(LD) $(LDFLAGS) -r -o $@ $^
++# Force execution of pattern rules (for which PHONY cannot be directly used).
.PHONY: FORCE
FORCE:
%/built_in.o: FORCE
$(MAKE) -f $(BASEDIR)/Rules.mk -C $* built_in.o
--clean:: $(addprefix _clean_, $(subdir-all)) FORCE
++.PHONY: clean
++clean:: $(addprefix _clean_, $(subdir-all))
rm -f *.o *~ core
_clean_%/: FORCE
$(MAKE) -f $(BASEDIR)/Rules.mk -C $* clean
$(CC) -E $(CPPFLAGS) -P -DXEN $(AFLAGS) \
-o xen.lds.s xen/xen.lds.S
--clean:: FORCE
++.PHONY: clean
++clean::
rm -f *.o *~ core xen.lds.s $(BASEDIR)/include/asm-ia64/.offsets.h.stamp asm-offsets.s map.out
rm -f asm-xsi-offsets.s $(BASEDIR)/include/asm-ia64/asm-xsi-offsets.h
rm -f $(BASEDIR)/System.map
CC=gcc
CFLAGS=-O -Wall
++.PHONY: all
all: postat
++.PHONY: postat
postat: postat.c pohcalls.o
++.PHONY: clean
clean:
$(RM) -f *.o postat *.s *~
shadow_guest32.o: shadow.c
--clean:: FORCE
++.PHONY: clean
++clean::
rm -f asm-offsets.s xen.lds boot/*.o boot/*~ boot/core boot/mkelf32
include $(BASEDIR)/../Config.mk
++.PHONY: default
default:
$(MAKE) -C figlet
$(MAKE) symbols
++.PHONY: clean
clean:
$(MAKE) -C figlet clean
rm -f *.o symbols
++.PHONY: symbols
symbols: symbols.c
$(HOSTCC) $(HOSTCFLAGS) -o $@ $<
figlet: figlet.c
$(HOSTCC) -o $@ $<
++.PHONY: clean
clean:
rm -f *.o figlet